package cn.iocoder.yudao.module.member.controller.admin.newsStudyInfo.vo;

import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
* 新闻信息(成果信息) Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class NewsStudyInfoBaseVO {

    @ApiModelProperty(value = "标题", required = true)
    @NotBlank(message = "标题不能为空")
    private String title;

    @ApiModelProperty(value = "副标题" )
    private String subtitle;

    @ApiModelProperty(value = "文章摘要", required = true)
    private String remark;

    @ApiModelProperty(value = "类型:1:新闻2:成果", required = true)
    @NotNull(message = "类型:1:新闻2:成果不能为空")
    private Integer type;

    @ApiModelProperty(value = "栏目(成果)ID", required = true)
    @NotNull(message = "栏目(成果)ID不能为空")
    private Long typeId;

    @ApiModelProperty(value = "封面地址")
    private String headUrl;

    @ApiModelProperty(value = "小程序封面地址")
    private String appletUrl;

    @ApiModelProperty(value = "详情", required = true)
    @NotBlank(message = "详情不能为空")
    private String detail;

    @ApiModelProperty(value = "PDF地址")
    private String pdfUrl;

    @ApiModelProperty(value = "视频地址")
    private String videoUrl;

    @ApiModelProperty(value = "PDF名称")
    private String pdfName;

    @ApiModelProperty(value = "视频名称")
    private String videoName;

    @ApiModelProperty(value = "发布时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date releaseTime;

    @ApiModelProperty(value = "是否置顶(0:未置顶1:已置顶)" )
    private Integer isTop;

    @ApiModelProperty(value = "状态0:未发布,1:发布")
    private String status;

    @ApiModelProperty(value = "权重", required = true)
    private Integer weight;

    @ApiModelProperty(value = "点击量", required = true)
    private Integer viewNum;

}
